<?php

namespace app\checkin\model;

use think\admin\Model;

/**
 * 会员模型
 */
class Member extends Model
{
    /**
     * 数据表名
     * @var string
     */
    protected $name = 'checkin_member';
    
    /**
     * 自动时间戳
     * @var bool
     */
    protected $autoWriteTimestamp = true;
    
    /**
     * 状态数据
     * @var array
     */
    public static $statusMap = [
        0 => '禁用',
        1 => '正常',
    ];
    
    /**
     * 获取状态文本
     * @param $value
     * @param $data
     * @return string
     */
    public function getStatusTextAttr($value, $data)
    {
        return self::$statusMap[$data['status']] ?? '未知';
    }
    
    /**
     * 关联注册门店
     * @return \think\model\relation\HasOne
     */
    public function registerStore()
    {
        return $this->hasOne(Store::class, 'id', 'register_store_id')->bind(['register_store_name' => 'name']);
    }
    
    /**
     * 关联会员门店关系
     * @return \think\model\relation\HasMany
     */
    public function memberStores()
    {
        return $this->hasMany(MemberStore::class, 'member_id', 'id');
    }
}

